#include <iostream>
class Test
{
public:
    Test(int a) : a(a)
    {
        d = new int;
    }
    /*委托:现有的构造函数帮忙构造
    委托构造初始化列表不能具有其他成员的初始化表达*/
    Test(int a, int b) : Test(a)
    {
        this->b = b;
    }
    Test(int a, int b, int c) : Test(a, b)
    {
        this->c = c;
    }

private:
    int a;
    int b;
    int c;
    int *d;
};

class Derived : public Test
{
public:
    /*继承构造:继承父类的所有构造*/
    using Test::Test;

private:
};
int main()
{
    Derived(1, 2);
    return 0;
}